1
תגובות
אז לשם שינוי, החלטתי סוף סוף לתת ניסיון לפריימוורקים וגיליתי עד כמה שזה מפשט את התהליך והופך את הקוד לנקי, מסודר, נוח וגמיש יותר.
בכל מקרה, אני עוד מתכוון ללמוד על הנושא (גם דרך הדוקומנטציה באתר), אבל בינתיים עלו לי כמה שאלות מקריאת המדריכים באתר:

1 - בקונטרולרים, האם קיימת אפשרות לסדר אותם ל"תתי תיקיות"?
כלומר נגיד זאת תיהיה תיקיית הקונטרולרים שלי:
--protected
----controllers
------Accounts
--------ProfileController
--------RegisterController
--------LoginController

וכו'?

2 - באמצעות urlManager, כיצד אפשר לשתמש ב-$_GET?
אני אנסה להסביר את עצמי טוב יותר אם לא הבנתם - יש לי לינק כזה לדוגמה:
http://localhost/index.php?r=profile&id=1234
והתוצאה שאני רוצה שתיהיה היא:
http://localhost/profile/1234

3 - מה הייתרון של renderText() על פני פשוט להשתמש ב-echo?
ואם אני לא טועה יש מתודה כזאת גם לתגיות html, וכנראה גם דברים אחרים, אז למה עדיף להשתמש בהi על פני פשוט לרשום echo?

אם יעלו לי עוד שאלות אני אשאל, תודה רבה מראש על העזרה :)

1 תשובות

avatar ענה intval ב 07 למרץ 2014 #

בהצלחה, אתה בכיוון הנכנון.
לגבי השאלות שלך:

1. אפשר, אבל לא בדיוק ככה אלא על ידי שימוש במודולים

--protected
----modules
------Accounts
--------Controllers
----------ProfileController
----------RegisterController
----------LoginController


2. בתוך המערך של הroutes יש להוסיף
'profile/<id:\d+>'  => 'Profile/index'
or
'profile/<id:\d+>'  => 'Accounts/Profile/index' // if inside accounts module


כאשר התבנית היא
module/controllername/actionname
ולפונקציה של action עצמו (במקרה הזה index) צריך להיות פרמטר id

3. הדרך הכי פשוטה זה לפתוח את הקוד ולראות מה הוא עושה. במקרה הזה - הטקסט יודפס בתבנית הכללית של האתר (ביחד עם ה-layout)